En son kaydetme mesajını değiştirme
git commit --amend
düzenleyicinizi açarak en son kaydetme işleminin commit mesajını değiştirmenize izin verir. Ek olarak, commit mesajını doğrudan komut satırında şu şekilde ayarlayabilirsiniz:
git commit --amend -m "Yeni commit mesajı"
… Ancak bu, çok satırlı tamamlama mesajlarını veya küçük düzeltmeleri girmeyi daha zahmetli hale getirebilir.
Bunu yapmadan önce hazırlanmış herhangi bir çalışma kopyası değişikliğiniz olmadığından emin olun, yoksa onlar da taahhüt edilir. (Aşamalı olmayan değişiklikler yapılmayacaktır.)
Uzak şubenize zaten gönderdiğiniz bir işlemin mesajını değiştirme
Taahhüdünüzü uzak şubenize zaten ittiyseniz, o zaman - yerel olarak taahhüdünüzü değiştirdikten sonra (yukarıda açıklandığı gibi) - ayrıca şunu da zorlamanız gerekir:
git push --force
# Veya
git push -f
Uyarı: zorla itme, yerel şubenizin durumu ile uzak şubenin üzerine yazacaktır. Uzak şubede yerel şubenizde olmayan taahhütler varsa, bu taahhütleri kaybedersiniz.
Uyarı: Başkalarıyla zaten paylaştığınız taahhütleri değiştirirken dikkatli olun. Değişiklik taahhütleri esasen onları farklı SHA kimliklerine sahip olacak şekilde yeniden yazar, bu da başkalarının yeniden yazdığınız eski işlemin kopyalarına sahip olması durumunda bir sorun oluşturur. Eski işlemenin bir kopyasına sahip olan herkesin, çalışmalarını yeni yeniden yazılmış işleminizle senkronize etmesi gerekir ve bu bazen zor olabilir, bu nedenle paylaşılan kaydetme geçmişini yeniden yazmaya çalışırken başkalarıyla koordine ettiğinizden emin olun veya paylaşılan taahhütleri yeniden yazmaktan kaçının tamamen.
Etkileşimli bir geri ödeme gerçekleştirin
Diğer bir seçenek ise etkileşimli yeniden taban kullanmaktır.
Bu, güncellemek istediğiniz herhangi bir mesajı, en son mesaj olmasa bile düzenlemenize olanak tanır.
Git squash yapmak için şu adımları izleyin:
// n, düzenleyebilmek istediğiniz son işleme kadar kaydetme sayısıdır
git rebase -i HEAD ~ n
Kaydetmelerinizi ezdikten sonra - mesajı düzenlemek için e / r'yi seçin:
Etkileşimli yeniden taban hakkında önemli not
Git rebase -i HEAD ~ n kullandığınızda n'den fazla kaydetme olabilir. Git, son n commit'deki tüm commit'leri "toplayacak" ve bu aralık arasında bir yerde bir birleşme varsa, tüm commit'leri de göreceksiniz, böylece sonuç n + olacaktır.
İyi bahşiş:
Bunu birden fazla dal için yapmanız gerekiyorsa ve içeriği değiştirirken çakışmalarla karşılaşabilirsiniz, git rerere'yi kurun ve Git'in bu çakışmaları sizin için otomatik olarak çözmesine izin verin.
Dokümantasyon
git-commit (1) Kılavuz Sayfası
git-rebase (1) Kılavuz Sayfası
git-push (1) Kılavuz Sayfası
|
git commit --amend -m "yeni mesajınız"
|
Düzeltmek istediğiniz kaydetme en son işlem değilse:
git rebase --interactive $ parent_of_flawed_commit
Birkaç hatalı işlemi düzeltmek istiyorsanız, en eskisinin üstünü iletin.
Bir editör, verdiğinizden bu yana tüm işlemlerin bir listesiyle gelecek.
Düzeltmek istediğiniz herhangi bir işlemin önünde seçimi yeniden sözcük olarak (veya Git'in eski sürümlerinde düzenlemek için) değiştirin.
Kaydettikten sonra, Git listelenen kayıtları yeniden oynatır.
Yeniden ifade etmek istediğiniz her işlem için Git sizi düzenleyicinize geri bırakacaktır. Düzenlemek istediğiniz her işlem için Git sizi kabuğa bırakır. Kabuğun içindeyseniz:
İşlemi istediğiniz şekilde değiştirin.
git commit --amend
git rebase - devam
Bu sıranın çoğu, ilerledikçe çeşitli komutların çıktısı ile size açıklanacaktır. Bu çok kolay; ezberlemenize gerek yok - sadece unutmayın ki git rebase --interactive, ne kadar uzun zaman önce olursa olsun, işlemlerinizi düzeltmenizi sağlar.
Zaten itmiş olduğunuz kaydetmeleri değiştirmek istemeyeceğinizi unutmayın. Ya da belki yaparsınız, ancak bu durumda taahhütlerinizi çekmiş ve üzerinde çalışmış olabilecek herkesle iletişim kurmak için çok dikkatli olmanız gerekecektir. Biri yayınlanan bir şubeye bir yeniden ödeme veya sıfırlama gönderdikten sonra nasıl kurtarabilir / yeniden senkronize edebilirim?
|
Önceki işlemi değiştirmek için, istediğiniz değişiklikleri yapın ve bu değişiklikleri aşamalandırın ve ardından çalıştırın
git commit --amend
Bu, metin düzenleyicinizde yeni commit mesajınızı temsil eden bir dosya açar. Eski commit mesajınızdaki metinle doldurulur. Kaydetme mesajını istediğiniz gibi değiştirin, ardından dosyayı kaydedin ve bitirmek için düzenleyicinizden çıkın.
Önceki kaydı değiştirmek ve aynı günlük mesajını tutmak için şunu çalıştırın:
git commit --amend -C HEAD
Önceki kaydı tamamen kaldırarak düzeltmek için şunu çalıştırın:
git reset --hard KAFA ^
Birden fazla kaydetme mesajını düzenlemek istiyorsanız,
git rebase -i HEAD ~ commit_count
(Commit_count'u düzenlemek istediğiniz commit sayısıyla değiştirin.) Bu komut, düzenleyicinizi başlatır. İlk kaydı (değiştirmek istediğinizi) "seç" yerine "düzenle" olarak işaretleyin, ardından kaydedip düzenleyicinizden çıkın. Gerçekleştirmek istediğiniz değişikliği yapın ve ardından çalıştırın
git commit --amend
git rebase - devam
Not: Git commit --amend ile açılan düzenleyiciden de "İstediğiniz değişikliği yapabilirsiniz".
|
Zaten olduğu gibigit commit --amend, son commit üzerine yazmanın yoludur. Bir not: Dosyaların üzerine de yazmak isterseniz komut şu şekilde olacaktır:
git commit -a --amend -m "Yeni commit mesajım"
|
Bunun için git filter-branch'ı da kullanabilirsiniz.
git süzgeç-dal -f --msg-süzgeç "sed 's / hata / hata /'"
Önemsiz bir git commit kadar kolay değil - amend, ama özellikle hatalı commit mesajınızdan sonra bazı birleştirmeleriniz varsa kullanışlıdır.
Bunun, HEAD ile hatalı kayıt arasındaki her kaydı yeniden yazmaya çalışacağını unutmayın, bu nedenle msg-filter komutunuzu çok akıllıca seçmelisiniz ;-)
|
Bu yolu tercih ederim:
git commit --amend -c
Aksi takdirde, yeni bir kaydetme kimliğine sahip yeni bir kayıt olacaktır.
|
Git GUI aracını kullanıyorsanız, Son kaydı değiştir adlı bir düğme vardır. Bu düğmeye tıklayın ve ardından son kayıt dosyalarınızı ve mesajınızı gösterecektir. Sadece bu mesajı düzenleyin ve yeni bir commit mesajıyla gerçekleştirebilirsiniz.
Veya bu komutu bir konsoldan / terminalden kullanın:
git commit -a --amend -m "Yeni commit mesajım"
|
Git yeniden oluşturmayı kullanabilirsiniz. Örneğin, bbc643cd'yi uygulamak için değiştirmek istiyorsanız, şunu çalıştırın:
$ git rebase bbc643cd ^ --etkileşimli
Varsayılan düzenleyicide, yürütmesini değiştirmek istediğiniz satırdaki 'seç'i' düzenle 'olarak değiştirin. Değişikliklerinizi yapın ve ardından bunları
$ git ekle
Şimdi kullanabilirsin
$ git commit --amend
commit'i değiştirmek ve bundan sonra
$ git rebase - devam
önceki head commit'e geri dönmek için.
|
Yalnızca son kaydetme mesajınızı değiştirmek istiyorsanız, şunu yapın:
git commit --amend
Bu sizi metin düzenleyicinize bırakacak ve son commit mesajını değiştirmenize izin verecektir.
Son üç commit mesajını veya bu noktaya kadar olan commit mesajlarından herhangi birini değiştirmek istiyorsanız, git rebase -i komutuna HEAD ~ 3 sağlayın:
git rebase -i HEAD ~ 3
|
Birden çok dalda eski bir commit mesajını değiştirmeniz gerekiyorsa (yani hatalı mesaj içeren kayıt birden fazla dalda mevcutsa) şunu kullanmak isteyebilirsiniz:
git filtre dalı -f --msg filtresi \
'sed "s / / / g"' - tümü
Git yeniden yazmak için geçici bir dizin oluşturacak ve ek olarak refs / original / içindeki eski referansları yedekleyecektir.
-f işlemin yürütülmesini sağlayacaktır. Bu, geçici dizin zaten mevcutsa veya zaten refs / original altında saklanan referanslar varsa gereklidir. Eğer durum bu değilse, bu bayrağı kaldırabilirsiniz.
- filtre dalı seçeneklerini revizyon seçeneklerinden ayırır.
--all, tüm dalların ve etiketlerin yeniden yazıldığından emin olur.
Eski referanslarınızın yedeği sayesinde, komutu çalıştırmadan önce duruma kolayca geri dönebilirsiniz.
Diyelim ki, master'ınızı kurtarmak ve ona old_master dalında erişmek istiyorsunuz:
git checkout -b old_master refs / original / refs / Heads / master
|
Kullanım
git commit --amend
Ayrıntılı olarak anlamak için mükemmel bir gönderi 4'tür. Git Geçmişini Yeniden Yazmak. Ayrıca git commit --amend'in ne zaman kullanılmayacağından da bahsediyor.
|
Son taahhüdünüzse, taahhüdü değiştirin:
git commit --amend -o -m "Yeni kayıt mesajı"
(Yalnızca commit mesajını değiştirdiğinizden emin olmak için -o (--only) bayrağını kullanarak)
Gömülü bir taahhüt ise, harika etkileşimli yeniden temeli kullanın:
git rebase -i @ ~ 9 # Bir metin düzenleyicide son 9 işlemi göster
İstediğiniz yürütmeyi bulun, seçimi r (yeniden sözcük) olarak değiştirin ve dosyayı kaydedip kapatın. Bitti!
Minyatür Vim öğreticisi (veya yalnızca 8 tuş vuruşuyla 3jcwrEscZZ nasıl yeniden oluşturulur):
Vaktiniz varsa vimtutor'u çalıştırın
hjkl, hareket tuşlarına karşılık gelir ← ↓ ↑ →
Tüm komutların önüne bir "aralık" eklenebilir, ör. 3j üç satır aşağı hareket eder
ekleme moduna girmek için - yazdığınız metin dosyada görünecektir
Ekleme modundan çıkmak ve "normal" moda dönmek için Esc veya Ctrlc
geri almak için
Yeniden yapmak için Ctrlr
dd, dw, dl sırasıyla bir satırı, kelimeyi veya harfi silmek için
cc, cw, cl sırasıyla bir satırı, kelimeyi veya harfi değiştirmek için (ddi ile aynı)
yy, yw, yl, sırasıyla bir satırı, kelimeyi veya harfi kopyalamak ("yank")
p veya P, sırasıyla mevcut konumdan sonra veya önce yapıştırmak için
: w Bir dosyayı kaydetmek (yazmak) için girin
: q! Kaydetmeden çıkmak için girin
: wqEnter veya ZZ ile kaydedin ve çıkın
Çok fazla metin düzenlerseniz, Dvorak klavye düzenine geçin, dokunmatik yazmayı öğrenin ve Vim'i öğrenin. Çabaya değer mi? Evet.
ProTip ™: Geçmişi yeniden yazan "tehlikeli" komutları denemekten korkmayın * - Git varsayılan olarak 90 gün boyunca işlemlerinizi silmez; onları reflog'da bulabilirsiniz:
$ git reset @ ~ 3 # Üç kaydetme geri git
$ git reflog
c4f708b HEAD @ {0}: sıfırlama: @ ~ 3'e taşınıyor
2c52489 HEAD @ {1}: commit: daha fazla değişiklik
4a5246d HEAD @ {2}: commit: önemli değişiklikler yapın
e8571e4 HEAD @ {3}: commit: bazı değişiklikler yapın
... önceki taahhütler ...
$ git sıfırlama 2c52489
... ve başladığın yere döndün
* Zor ve --force gibi seçeneklere dikkat edin - verileri atabilirler.
* Ayrıca, işbirliği yaptığınız herhangi bir branşın geçmişini yeniden yazmayın.
|
Düzelt
Birkaç tane varseçenekler burada. Yapabilirsin
git commit --amend
son taahhüdünüz olduğu sürece.
Etkileşimli yeniden taban
Aksi takdirde, son taahhüdünüz değilse, etkileşimli bir yeniden ödeme yapabilirsiniz,
git rebase -i [branched_from] [kaydetmeden önce karma]
Ardından, etkileşimli yeniden temelde bu işleme eklemeniz yeterlidir. Ortaya çıktığında, bir git commit yapın - commit mesajını değiştirin ve değiştirin. Bu commit noktasından önce geri dönmek istiyorsanız, git reflog'u da kullanabilir ve sadece bu commit'i silebilirsiniz. Sonra tekrar bir git commit yaparsın.
|
Git GUI kullanıyorsanız, şu komutla gönderilmemiş son kaydetmeyi değiştirebilirsiniz:
Son Kaydetmeyi Kaydet / Değiştir
|
Git GUI'yi elimden geldiğince kullanıyorum ve bu size son kaydetmeyi değiştirme seçeneği sunuyor:
Ayrıca, git rebase -i origin / master, her zaman master üzerinde yaptığınız işlemleri size sunacak ve size düzeltme, silme, yeniden sıralama veya ezme seçeneği sunan güzel bir mantradır. Önce o hash'i ele geçirmeye gerek yok.
|
Vay canına, bunu yapmanın birçok yolu var.
Bunu yapmanın başka bir yolu da son kaydı silmek, ancak işinizi kaybetmemek için değişikliklerini saklamaktır. Daha sonra düzeltilmiş mesajla başka bir işlem yapabilirsiniz. Bu şuna benzer bir şeye benzeyecektir:
git sıfırlama --yumuşak KAFA ~ 1
git commit -m 'Yeni ve düzeltilmiş kaydetme mesajı'
Bir dosya eklemeyi veya değişiklik yapmayı unutursam her zaman bunu yaparım.
--Hard yerine --soft belirtmeyi unutmayın, aksi takdirde bu kaydı tamamen kaybedersiniz.
|
Daha eski mesajları (yani yalnızca en son mesajı değil) düzenlemeye yardımcı olacak bir Windows / Mac GUI arayanlar için Sourcetree'yi öneririm. İzlenecek adımlar resmin altındadır.
Henüz bir uzaktan kumandaya aktarılmamış taahhütler için:
Mevcut tüm değişiklikleri yaptığınızdan veya sakladığınızdan emin olun (yani "Dosya Durumu" sekmesinde hiçbir dosya listelenmemesi için) - aksi takdirde çalışmaz.
"Günlük / Geçmiş" sekmesinde, düzenlemek istediğiniz işlemlerin altındaki grafikte bitişik bir satıra sahip girişi sağ tıklayın ve " alt öğelerini etkileşimli olarak yeniden başlat ..." seçeneğini seçin.
Değiştirmek istediğiniz bir kayıt mesajı için tüm satırı seçin ("Mesaj" sütununa tıklayın).
"Mesajı Düzenle" düğmesini tıklayın.
Açılan iletişim kutusunda mesajı istediğiniz gibi düzenleyin ve ardından Tamam'ı tıklayın.
Değiştirilecek başka commit mesajları varsa 3-4. Adımları tekrarlayın.
Tamam'a tıklayın: Yeniden yükleme başlayacaktır. Her şey yolundaysa, çıktı "Başarıyla tamamlandı" ile biter. NOT: Bazen 'project_path / .git / index.lock' oluşturulamıyor ile bunun başarısız olduğunu gördüm: Dosya var. aynı anda birden fazla commit mesajını değiştirmeye çalışırken. Sorunun tam olarak ne olduğundan veya Sourcetree'nin gelecekteki bir sürümünde düzeltilip düzeltilmeyeceğinden tam olarak emin değilsiniz, ancak bu olursa, her seferinde bir tane yeniden eklemenizi tavsiye ederim (daha yavaş ama daha güvenilir görünüyor).
... Veya ... zaten itilmiş olan taahhütler için:
Yukarıdakine benzer, ancak dalı zorlamak için komut satırından (git push origin -f) çalıştırılacak başka bir komut gerektiren bu yanıttaki adımları izleyin. Hepsini okumanızı ve gerekli önlemleri almanızı öneririm!
|
En son kaydetmeyi düzenlemek istiyorsanız, şunu kullanın:
git commit --amend
veya
git commit --amend -m 'tek satır mesaj'
Ancak arka arkaya birkaç kaydetmeyi düzenlemek istiyorsanız, bunun yerine yeniden oluşturmayı kullanmalısınız:
git rebase -i
Yukarıdaki gibi bir dosyaya edit / e veya diğer seçeneklerden birini yazın ve kaydet ve çık'a basın.
Şimdi ilk yanlış işlemede olacaksınız. Dosyalarda değişiklikler yapın, bunlar sizin için otomatik olarak hazırlansın. Tür
git commit --amend
Kaydedip çıkın ve yazın
git rebase - devam
Tüm seçimleriniz tamamlanana kadar sonraki seçime geçmek için.
Bu şeylerin, bu belirli kaydetmeden sonra tüm SHA karmalarınızı değiştirdiğini unutmayın.
|
Yalnızca son mesajınızı değiştirmek istiyorsanız, --only bayrağını veya kısayolunu -o ile commit --amend'i kullanmalısınız:
git commit --amend -o -m "Yeni kayıt mesajı"
Bu, aşamalı şeylerle taahhüdünüzü yanlışlıkla geliştirmemenizi sağlar. Elbette uygun bir $ EDITOR yapılandırmasına sahip olmak en iyisidir. Sonra -m seçeneğini devre dışı bırakabilirsiniz ve Git, commit mesajını eskisiyle önceden dolduracaktır. Bu şekilde kolaylıkla düzenlenebilir.
|
Son yanlış kaydetme mesajınızı tek satırdaki yeni kaydetme mesajıyla güncelleyin:
git commit --amend -m "yeni commit mesajınız"
Veya aşağıdaki gibi Git sıfırlamayı deneyin:
# Başınızı n sayıda yürütmeye sıfırlayabilirsiniz
# Son işlem mesajını değiştirmek için iyi bir fikir DEĞİL,
# ancak commit'i birden fazla işleme ayırmak için bir fikir edinebilirsiniz
git sıfırlama - yumuşak KAFA ^
# Son kaydı sıfırlayacaktır. Şimdi sen
# yeni commit mesajıyla yeniden kaydedebilir.
Kaydetmeleri daha küçük kayıtlara bölmek için sıfırlamayı kullanma
git reset, bir kaydı birden fazla işleme ayırmanıza da yardımcı olabilir:
# Başınızı sıfırlayın. Son kayıtlara sıfırlıyorum:
git sıfırlama - yumuşak KAFA ^
# (HEAD ~ 2 yaparak birden fazla kaydı sıfırlayabilirsiniz (kaydetme sayısı)
# Şimdi kafanı sıfırlabirden çok işleme bölme
git sıfırlama KAFA
# Birden fazla işlem yapmak için dosyalarınızı ayrı ayrı ekleyin ve işleyin: ör.
git uygulama ekle /
git commit -m "tüm dosyaları uygulama dizinine ekle"
git add config /
git commit -m "yapılandırma dizinindeki tüm dosyaları ekle"
Burada, son taahhüdünüzü başarıyla iki işleme böldünüz.
|
Bu soruda çok sayıda cevap var, ancak hiçbiri Vim kullanarak eski commit mesajlarının nasıl değiştirileceğini çok detaylı olarak açıklamıyor. Bunu kendim yapmaya çalışırken sıkışmıştım, bu yüzden burada özellikle Vim konusunda deneyimi olmayan insanlar için bunu nasıl yaptığımı ayrıntılı olarak yazacağım!
Sunucuya göndermiş olduğum en son beş taahhüdümü değiştirmek istedim. Bu oldukça 'tehlikelidir' çünkü zaten bundan başka biri çekildiyse, commit mesajlarını değiştirerek işleri alt üst edebilirsiniz. Ancak, kendi küçük dalınız üzerinde çalışırken ve kimsenin çekmediğinden emin olduğunuzda, bunu şu şekilde değiştirebilirsiniz:
Diyelim ki en son beş taahhüdünüzü değiştirmek istiyorsunuz ve sonra bunu terminale yazıyorsunuz:
git rebase -i KAFA ~ 5
* Burada 5, değiştirmek istediğiniz commit mesajlarının sayısıdır (bu nedenle 10.'u son kaydetme olarak değiştirmek isterseniz 10 yazarsınız).
Bu komut sizi Vim'e götürecektir ve burada commit geçmişinizi "düzenleyebilirsiniz". Son beş kaydetme işleminizi en üstte şu şekilde göreceksiniz:
commit mesajı seç
Seçim yerine yeni kelime yazmanız gerekir. Bunu Vim'de i yazarak yapabilirsiniz. Bu, ekleme moduna girmenizi sağlar. (En alttaki INSERT kelimesinden ekleme modunda olduğunuzu görüyorsunuz.) Değiştirmek istediğiniz kayıtlar için pick yerine reword yazın.
O zaman bu ekranı kaydetmeniz ve çıkmanız gerekir. Bunu, önce Esc düğmesine basarak "komut moduna" girerek yaparsınız (alttaki INSERT sözcüğü kaybolduysa komut modunda olup olmadığınızı kontrol edebilirsiniz). Ardından şunu yazarak bir komut yazabilirsiniz:. Kaydetme ve çıkma komutu wq'dir. Yani şunu yazarsanız: wq doğru yoldasınız demektir.
Sonra Vim, yeniden ifade etmek istediğiniz her commit mesajının üzerinden geçer ve burada aslında commit mesajlarını değiştirebilirsiniz. Bunu, ekleme moduna geçerek, kaydetme mesajını değiştirerek, komut moduna geçerek ve kaydedip çıkarak yapacaksınız. Bunu beş kez yapın ve Vim'den kurtulun!
O halde, eğer zaten yanlış işlemlerinizi zorladıysanız, bunların üzerine yazmak için git push --force yapmanız gerekir. Git push --force'un yapılması oldukça tehlikeli bir şey olduğunu unutmayın, bu yüzden yanlış taahhütlerinizi zorladığınızdan beri sunucudan kimsenin çekmediğinden emin olun!
Şimdi commit mesajlarınızı değiştirdiniz!
(Gördüğünüz gibi, Vim'de o kadar deneyimli değilim, bu yüzden ne olduğunu açıklamak için yanlış 'dil' kullanırsam, beni düzeltmekten çekinmeyin!
|
Git-rebase-reword kullanabilirsiniz
Herhangi bir kaydı (sadece sonuncu değil) commit ile aynı şekilde düzenlemek için tasarlanmıştır --amend
$ git rebase-reword
Adını, bir taahhüdü değiştirmek için etkileşimli yeniden taban üzerindeki eylemden sonra alır: "reword". Bu gönderiye bakın ve bölüm etkileşimli modu-
Örnekler:
$ git rebase-reword b68f560
$ git rebase-reword KAFA ^
|
Recommit (değiştirmek) için reci ve recm takma adları ekledim. Şimdi git recm veya git recm -m ile yapabilirim:
$ vim ~ / .gitconfig
[takma ad]
......
cm = commit
reci = commit --amend
recm = commit --amend
......
|
İçinde bir yazım hatası olan bir işlemi zorladığımı fark ettim. Geri almak için şunları yaptım:
git commit --amend -m "T-1000, gelişmiş prototip"
git push --force
Uyarı: Değişikliklerinizi zorlamak, yerel şubenizle uzak şubenin üzerine yazacaktır. Saklamak istediğiniz hiçbir şeyin üzerine yazmayacağınızdan emin olun. Ayrıca, şubeyi sizinle paylaşan başka biri varsa, değiştirilmiş (yeniden yazılmış) bir taahhüdü zorlama konusunda dikkatli olun, çünkü yeniden yazdığınız taahhüdün eski kopyasına sahiplerse kendi geçmişlerini yeniden yazmaları gerekecektir.
|
Aşağıdakileri kullanmayı seviyorum:
git durumu
git add - hepsi
git commit -am "mesaj değişiklikle ilgili buraya gelir"
git pull
git push
|
Kodu uzak şubenize (GitHub / Bitbucket) göndermediyseniz komut satırındaki commit mesajını aşağıdaki gibi değiştirebilirsiniz.
git commit --amend -m "Yeni mesajınız"
Belirli bir dal üzerinde çalışıyorsanız, şunu yapın:
git commit --amend -m "BRANCH-NAME: yeni mesaj"
Kodu zaten yanlış mesajla ittiyseniz ve mesajı değiştirirken dikkatli olmanız gerekir. Yani, commit mesajını değiştirip tekrar göndermeyi denedikten sonra sorun yaşarsınız. Pürüzsüz hale getirmek için aşağıdaki adımları izleyin.
Lütfen yapmadan önce cevabımın tamamını okuyun.
git commit --amend -m "BRANCH-NAME: yeni mesajınız"
git push -f kaynak BRANCH-NAME # En iyi uygulama değil. Neden aşağıda okuyun?
Önemli not: Zorla itmeyi doğrudan kullandığınızda, diğer geliştiricilerin aynı dalda çalıştığı kod sorunlarıyla karşılaşabilirsiniz. Bu tür çatışmalardan kaçınmak için, zorlamadan önce kodu şubenizden çekmeniz gerekir.it:
git commit --amend -m "BRANCH-NAME: yeni mesajınız"
git çekme kaynağı ŞUBE-ADI
git push -f kökenli ŞUBE-ADI
Zaten itilmişse, commit mesajını değiştirirken en iyi uygulama budur.
|
Aradığın cevap değil mi? Git git-commit git-rewrite-history etiketli diğer sorulara göz atın veya kendi sorunuzu sorun.